<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Id Tech</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Id_Tech"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Id_Tech rootpage-Id_Tech skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">id Tech</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p class="mw-empty-elt">
</p>
<div class="infobox_v3 infobox infobox--frwiki noarchive" style="width:260px">
<div class="entete icon informatique" style="color: #000000;"><style data-mw-deduplicate="TemplateStyles:r228712691">
/* start https://fr.wikipedia.org/ */
.mw-parser-output .entete.informatique{background-image:url("./_mw_/Picto.nfo.png")}
/* end https://fr.wikipedia.org/ */
</style>
<div>id Tech</div>
</div>
<div class="images">
</div>
<div class="hr" style="height:2px;"></div>
<div class="images">
</div>
<div class="legend">Capture d’écran de <i><a href="Freedoom" title="Freedoom">Freedoom</a></i>, <br> une reproduction <a href="Logiciel_libre" title="Logiciel libre">libre</a> de <i><a href="Doom" title="Doom">Doom</a></i> <br> utilisant le moteur de jeu en environnement 3D <a href="Id_Tech_1" class="mw-redirect" title="Id Tech 1">id Tech 1</a>.</div>
<table><caption style="color:#000000;">Informations</caption>
<tbody><tr>
<th scope="row"><a href="D%C3%A9veloppeur" title="Développeur">Développé par</a></th>
<td>
<a href="Id_Software" title="Id Software">id Software</a></td>
</tr>
<tr>
<th scope="row"> <a href="Langage_de_programmation" title="Langage de programmation">Écrit en</a>
</th>
<td>
<a href="C_(langage)" title="C (langage)">C</a>, <a href="C%2B%2B" title="C++">C++</a></td>
</tr>
<tr>
<th scope="row"><a href="Plateforme_informatique" title="Plateforme informatique">Environnement</a></th>
<td>
<a href="NeXTSTEP" title="NeXTSTEP">NeXTSTEP</a>, <a href="MS-DOS" title="MS-DOS">MS-DOS</a>, <a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="Mac_OS_X" class="mw-redirect" title="Mac OS X">Mac OS X</a>, <a href="Linux" title="Linux">Linux</a>, <br><a href="Xbox_(console)" title="Xbox (console)">Xbox</a>, <a href="Xbox_360" title="Xbox 360">Xbox 360</a>, <a href="PlayStation_3" title="PlayStation 3">PlayStation 3</a>, <a href="PlayStation_4" title="PlayStation 4">PlayStation 4</a></td>
</tr>
<tr>
<th scope="row"> Type
</th>
<td>
<a href="Moteur_de_jeu" title="Moteur de jeu">Moteur de jeu</a></td>
</tr>
<tr>
<th scope="row"><a href="Licence_de_logiciel" title="Licence de logiciel">Licence</a></th>
<td>
<a href="Licence_publique_g%C3%A9n%C3%A9rale_GNU" title="Licence publique générale GNU">Licence publique générale GNU</a>, <a href="Logiciel_propri%C3%A9taire" title="Logiciel propriétaire">Propriétaire</a></td>
</tr>
<tr>
<th scope="row"><a href="Site_web" title="Site web">Site web</a></th>
<td>
<a rel="nofollow" class="external text" href="https://www.idsoftware.com/">Site d'id Software</a></td>
</tr>
</tbody></table>
<p class="mw-empty-elt">
</p>
</div>
<p><b>Id Tech</b> désigne une série de <a href="Moteur_de_jeu" title="Moteur de jeu">moteurs de jeu</a> développés par la firme <a href="Id_Software" title="Id Software">id Software</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Id_Tech_1">Id Tech 1</h2></div>
<p>L'<a href="Id_Tech_1" class="mw-redirect" title="Id Tech 1">id Tech 1</a> (ou <i>Doom engine</i>) est un <a href="Moteur_de_jeu" title="Moteur de jeu">moteur de jeu</a> qui permit de faire fonctionner les jeux <i><a href="Doom_(jeu_vid%C3%A9o%2C_1993)" title="Doom (jeu vidéo, 1993)">Doom</a></i> et <i><a href="Doom_II" class="mw-redirect" title="Doom II">Doom II</a></i> de <a href="Id_Software" title="Id Software">id Software</a>. Il a aussi été utilisé sous <a href="Licence_(juridique)" title="Licence (juridique)">licence</a> par les jeux <i><a href="Hexen" title="Hexen">Hexen</a></i>, <i><a href="Heretic" title="Heretic">Heretic</a></i>, <i><a href="Strife_(jeu_vid%C3%A9o)" title="Strife (jeu vidéo)">Strife</a></i> et <i>HacX</i>, et d'autres jeux. Il a été créé par <a href="John_Carmack" title="John Carmack">John Carmack</a>, et certaines fonctions auxiliaires ont été écrites par <a href="Michael_Abrash" title="Michael Abrash">Mike Abrash</a>, <a href="John_Romero" title="John Romero">John Romero</a>, <a href="Dave_Taylor" title="Dave Taylor">Dave Taylor</a> et Paul Radek. Initialement développé sur les systèmes <a href="NeXT" title="NeXT">NeXT</a>, il a été porté sous <a href="DOS" title="DOS">DOS</a> pour la première version de <i>Doom</i> et a été porté ensuite sur un grand nombre de <a href="Console_de_jeu" class="mw-redirect" title="Console de jeu">consoles</a> et de <a href="Syst%C3%A8me_d'exploitation" title="Système d'exploitation">systèmes d'exploitation</a>.
</p><p>Le <a href="Code_source" title="Code source">code source</a> de la version <a href="Linux" title="Linux">Linux</a> de <i>Doom</i> a été libéré en 1997 sous une licence permettant la libre utilisation non commerciale, puis a été de nouveau libéré en 1999 sous la <a href="Licence_publique_g%C3%A9n%C3%A9rale_GNU" title="Licence publique générale GNU">licence publique générale GNU</a> (GNU GPL). Les nombreux <a href="Ports_de_Doom" class="mw-redirect" title="Ports de Doom">ports</a> non officiels des sources qui ont été créés depuis, ont permis de faire fonctionner le jeu sur des systèmes d'exploitation jusqu'alors incompatibles avec le jeu, et dans certains cas ont permis d'étendre les capacités du moteur en ajoutant de nouvelles fonctions.
</p>
<div class="mw-heading mw-heading3"><h3 id="Éditeur_de_niveaux"><span id=".C3.89diteur_de_niveaux"></span>Éditeur de niveaux</h3></div>
<p>Dès la création de Doom, et encouragés par les auteurs du jeu, des amateurs travaillèrent à construire de nouvelles cartes pour le jeu, et développer des outils dédiés : <i>DEU </i>(Doom Editing Utility), <i>DETH </i>(DOOM Editor for Total Headcases), le logiciel commercial <i>DCK </i>(Doom Construction Kit), etc. Les logiciels actuellement fonctionnels et régulièrement mis à jour sur des systèmes modernes comprennent <i>Doom Builder</i><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> et <i>Eureka</i><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> (héritier <a href="Logiciel_multiplate-forme" class="mw-redirect" title="Logiciel multiplate-forme">multiplateforme</a> de l'outil <i>Yadex </i>sur Linux). Il existe même des générateurs aléatoires de cartes, tel que <i>OBLIGE</i><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> (héritier de <i>SLIGE</i>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Id_Tech_3">Id Tech 3</h2></div>
<p>L'<a href="Id_Tech_3" class="mw-redirect" title="Id Tech 3">id Tech 3</a>, plus connu sous le nom de <b>Quake III engine</b>, est une évolution directe des versions précédentes incluses dans <i><a href="Quake" title="Quake">Quake</a></i> et <i><a href="Quake_II" title="Quake II">Quake II</a></i>.
</p><p>À la <a href="QuakeCon" title="QuakeCon">QuakeCon</a> 2005, <a href="John_Carmack" title="John Carmack">John Carmack</a> a annoncé que le <a href="Code_source" title="Code source">code source</a> du moteur Quake III serait libéré sous <a href="Licence_publique_g%C3%A9n%C3%A9rale_GNU" title="Licence publique générale GNU">GPL</a>. Le <time class="nowrap" datetime="2005-08-19" data-sort-value="2005-08-19">19 août 2005</time>, id Software a libéré les sources du moteur sous GPL, par contre les ressources du jeu vidéo <i><a href="Quake_III_Arena" title="Quake III Arena">Quake III Arena</a></i> restent la propriété de id Software. Le code peut ainsi être téléchargé par qui le veut.
</p><p><a href="Infinity_Ward" title="Infinity Ward">Infinity Ward</a>, les créateurs de la série <i><a href="Call_of_Duty" title="Call of Duty">Call of Duty</a></i> utilisent depuis <i><a href="Call_of_Duty_2" title="Call of Duty 2">Call of Duty 2</a></i> un moteur maison à base du code source d'id Tech 3 (la société avait déjà utilisé le moteur id Tech 3 en lui-même pour le <a href="Call_of_Duty" title="Call of Duty">premier titre</a>). Depuis, le moteur a évolué pour les jeux successeurs de la série mais toujours sur le code source d'id Tech.
</p>
<div class="mw-heading mw-heading3"><h3 id="Évolutions_par_rapport_à_l'id_Tech_2"><span id=".C3.89volutions_par_rapport_.C3.A0_l.27id_Tech_2"></span>Évolutions par rapport à l'id Tech 2</h3></div>
<p>Contrairement à l'id tech 2 qui avait concentré sa <i>pipeline</i> sur les problèmes relatifs au rendu logiciel, L'id Tech 3 a été spécialement optimisé pour <a href="OpenGL" title="OpenGL">openGL</a>, ce qui a permis une importante simplification du moteur graphique.
</p><p>La simplicité de l'id tech 3 en a fait le moteur de jeu le plus populaire et le plus utilisé, il est notamment à la base des séries <i>Jedi Knight</i> et <i>Call of Duty</i>.
</p><p>Son format de <i>map</i> (q3.bsp) très rapide à lire car directement encodé en <i>vertex buffers</i> est devenu une référence dans la 3d <i>rich internet application</i>, il existe des bibliothèques pour le lire avec <a href="WebGL" title="WebGL">Webgl</a> et Flash Player, et il est à la base du <i>plugin</i> <a href="Quakelive" class="mw-redirect" title="Quakelive">quakelive</a>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Bones"><i>Bones</i></h4></div>
<p>L'animation des personnages est fluide, calculée en temps réel avec les <i>bones</i> (squelettes articulés).
</p>
<div class="mw-heading mw-heading4"><h4 id="Shaders"><i>Shaders</i></h4></div>
<p>L'id Tech 3 introduit les fichiers <i>shaders</i> qui permettent un contrôle précis du rendu des textures. Ils permettent divers effets tels que la transparence, la réflexion, l'<i>additive blending</i>, le <i>texture splatting</i>, etc.
</p>
<div class="mw-heading mw-heading4"><h4 id="Collisionmap_en_brushes"><i>Collisionmap</i> en <i>brushes</i></h4></div>
<p>L'id Tech 2 utilisait deux arbres bsp, un simplifié utilisé pour la détection de collisions, et un plus complexe qui stockait les faces afin d'assurer leur <i>z-ordering</i>. Le <i>z-ordering</i> étant inutile en <i>full hardware</i>, l'id tech 3 n'utilise plus qu'un seul arbre, qui gère à la fois les collisions et le <i>culling</i> (suppression sélective).
</p><p>La <i>collisionmap</i> d'id tech 3 n'est plus gérée par un second bsp mais par une liste de volumes convexes (<i>brushes</i>). Cette <i>collisionmap</i> indépendante de l'arbre bsp permet de tester les collisions sur les <i>brushes</i> de détail.
</p>
<div class="mw-heading mw-heading4"><h4 id="Stockage_balancé_et_encapsulé_de_la_géométrie"><span id="Stockage_balanc.C3.A9_et_encapsul.C3.A9_de_la_g.C3.A9om.C3.A9trie"></span>Stockage balancé et encapsulé de la géométrie</h4></div>
<p>La géométrie n'est plus compressée sous forme de <i>n-gons</i> (polygones) convexes, elle est directement encodée en <i>vertex buffers</i> (tampons de points). Les triangles sont encapsulés dans des formes plus complexes (<i>n-gons</i> (polygones) concaves, <i>curves</i>, <i>trimeshes</i>) qui sont stockées dans le bsp.
</p><p>Cela permet d'alléger les calculs processeur, qui ne se préoccupent plus du détail des triangles.
</p><p>La nouvelle <i>pipeline</i> de rendu fonctionne désormais comme suit:
</p>
<ul><li><i>frustum culling</i> de l'arbre bsp, avec élimination des feuilles occluses grâce à l'occlusion précalculée avec un rapport <i>cluster-to-cluster</i> ;</li>
<li>repérage de toutes les formes contenues dans ces feuilles visibles ;</li>
<li>la <a href="Carte_graphique" title="Carte graphique">carte vidéo</a> rend tous les triangles contenus dans ces formes.</li></ul>
<div class="mw-heading mw-heading4"><h4 id="QuadPatch_Curves">QuadPatch Curves</h4></div>
<p>Le rendu <i>hardware</i> permettant d'augmenter considérablement la quantité de polygones, l'id tech 3 introduit des formes courbes codées en <i>quads</i> qui permettent de se dégager de l'esthétique <i>low-poly</i> (basse polygonisation) très anguleuse de l'id tech 2.
</p><p>Permet de modéliser des terrains extérieurs, des grottes, des coupoles, des colonnes, etc. Le joueur peut modifier la résolution polygonale des courbes dans le menu d'options en fonction des capacités mémoire de sa machine.
</p><p>Ces courbes remplacent partiellement, voir totalement, la géométrie bsp générée par les <i>brushes</i>. Une <i>map</i> peut être entièrement modélisée en courbes, stockées dans un bsp généré à partir de <i>brushes</i> invisibles.
</p>
<div class="mw-heading mw-heading4"><h4 id="Détails"><span id="D.C3.A9tails"></span>Détails</h4></div>
<p>L'ajout de détails (petits <i>brushes</i> sans incidence sur la complexité de l'arbre afin d'éviter les parcours trop coûteux en calcul ainsi que les risques de <i>holes</i>) posait un problème d'optimisation dans l'id tech 2, il fallait passer par des <i>models</i> indépendants dont l'intégration à la <i>pipeline</i> de rendu coûtait plus de calculs processeur que pour le <i>model</i> statique.
</p><p>L'id tech 3 permet de modéliser des détails sans passer par les <i>models</i>. Les détails <i>brushes</i> sont intégrés au <i>model</i> statique, ce qui accélère leur rendu.
</p>
<div class="mw-heading mw-heading4"><h4 id="Ombres_dynamiques">Ombres dynamiques</h4></div>
<p>L'id tech 3 propose un rendu d'ombres dynamiques simplifiées sous forme d'une petite tache sombre projetée sur quelques polygones. Projetées uniquement, à l'origine, sur les <i>n-gons</i> (polygones) concaves, certains dérivés de l'id tech 3 ont rajouté la projection d'ombre sur les courbes.
</p>
<div class="mw-heading mw-heading3"><h3 id="Jeux_utilisant_le_moteur_de_Quake_3">Jeux utilisant le moteur de Quake 3</h3></div>
<ul><li><i><a href="Return_to_Castle_Wolfenstein" title="Return to Castle Wolfenstein">Return to Castle Wolfenstein</a></i></li>
<li><i><a href="American_McGee's_Alice" title="American McGee's Alice">American McGee's Alice</a></i></li>
<li><i><a href="Call_of_Duty_(jeu_vid%C3%A9o)" title="Call of Duty (jeu vidéo)">Call of Duty</a></i></li>
<li><i><a href="Star_Trek_Voyager_%3A_Elite_Force" class="mw-redirect" title="Star Trek Voyager : Elite Force">Star Trek Voyager : Elite Force</a></i></li>
<li><i><a href="Heavy_Metal_%3A_F.A.K.K._2" class="mw-redirect" title="Heavy Metal : F.A.K.K. 2">Heavy Metal : F.A.K.K. 2</a></i></li>
<li><i><a href="Jedi_Knight_II%3A_Jedi_Outcast" class="mw-redirect" title="Jedi Knight II: Jedi Outcast">Jedi Knight II: Jedi Outcast</a></i></li>
<li><i><a href="Soldier_of_Fortune_II%3A_Double_Helix" title="Soldier of Fortune II: Double Helix">Soldier of Fortune II: Double Helix</a></i></li>
<li><i><a href="Medal_of_Honor_%3A_D%C3%A9barquement_alli%C3%A9" title="Medal of Honor : Débarquement allié">Medal of Honor : Débarquement allié</a></i></li>
<li><i>Star Trek Elite Force 2</i></li>
<li><i><a href="Jedi_Knight%3A_Jedi_Academy" class="mw-redirect" title="Jedi Knight: Jedi Academy">Jedi Knight: Jedi Academy</a></i></li>
<li><i><a href="Wolfenstein%3A_Enemy_Territory" title="Wolfenstein: Enemy Territory">Wolfenstein: Enemy Territory</a></i></li>
<li><i><a href="Tremulous" title="Tremulous">Tremulous</a></i></li>
<li><i><a href="OpenArena" title="OpenArena">OpenArena</a></i></li>
<li><i><a href="Urban_Terror" title="Urban Terror">Urban Terror</a></i></li>
<li><i><a href="Quake_Live" title="Quake Live">Quake Live</a></i></li>
<li><i>007 : Quitte ou double</i></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Id_Tech_4">Id Tech 4</h2></div>
<p>L'<a href="Id_Tech_4" class="mw-redirect" title="Id Tech 4">id Tech 4</a>, plus connu sous le nom de <b>Doom 3 engine</b>, est utilisé pour la première fois dans le jeu <i><a href="Doom_3" title="Doom 3">Doom 3</a></i>.
</p><p>Conçu principalement par <a href="John_Carmack" title="John Carmack">John Carmack</a>, celui-ci a aussi créé d'autres moteurs par le passé comme le <a href="Doom_engine" class="mw-redirect" title="Doom engine">Doom engine</a> et le <a href="Quake_engine" class="mw-redirect" title="Quake engine">Quake engine</a>, qui ont été généralement reconnus comme de grandes avancées technologiques dans le domaine.
</p>
<div class="mw-heading mw-heading3"><h3 id="Historique">Historique</h3></div>
<p>L'id Tech 4 a d'abord été conçu comme une amélioration du <a href="Quake_engine" class="mw-redirect" title="Quake engine">Quake engine</a>. À l'origine, il était prévu de complètement réécrire le <a href="Moteur_de_rendu_3D" title="Moteur de rendu 3D">moteur de rendu</a> du Quake Engine, tout en gardant certains sous-systèmes comme l'accès aux fichiers et la gestion de la mémoire. Après que le nouveau moteur de rendu fut fonctionnel, il fut décidé de passer du <a href="Langage_C" class="mw-redirect" title="Langage C">langage C</a> au <a href="C%2B%2B" title="C++">C++</a>, ce qui nécessita une réécriture et une restructuration complète du reste du moteur. Le moteur actuel ne contient donc que très peu de code issu du moteur Quake engine, ce qui en fait le premier vrai nouveau moteur d’id Software depuis 1996.
</p>
<div class="mw-heading mw-heading3"><h3 id="Ajouts_par_rapport_à_l'id_tech_3"><span id="Ajouts_par_rapport_.C3.A0_l.27id_tech_3"></span>Ajouts par rapport à l'id tech 3</h3></div>
<p>L'id Tech 4 est sorti avec de nombreuses <a href="Nouvelles_technologies" title="Nouvelles technologies">nouvelles technologies</a> par rapport au <a href="Quake_3_engine" class="mw-redirect" title="Quake 3 engine">Quake 3 engine</a> (id tech 3) qui l'a précédé. Cela inclut le <a href="Bump_mapping" class="mw-redirect" title="Bump mapping">bump mapping</a>, le <a href="Normal_mapping" title="Normal mapping">normal mapping</a> et la <a href="Lumi%C3%A8re_sp%C3%A9culaire" title="Lumière spéculaire">lumière spéculaire</a>. D'autres fonctionnalités ont été ajoutées par la suite au moteur, comme la technologie <a href="MegaTexture" title="MegaTexture">MegaTexture</a> (notamment utilisée dans le jeu <i><a href="Enemy_Territory%3A_Quake_Wars" title="Enemy Territory: Quake Wars">Enemy Territory: Quake Wars</a></i>).
</p>
<div class="mw-heading mw-heading4"><h4 id="IA_et_scripting">IA et scripting</h4></div>
<p>Les personnages non joueurs ont une intelligence artificielle (<a href="Intelligence_artificielle" title="Intelligence artificielle">IA</a>) rudimentaire (de type <i>pathfinder</i>) et le jeu est enrichi d'un langage de <a href="Script_(informatique)" class="mw-redirect" title="Script (informatique)">script</a> appelé DoomScript.
</p>
<div class="mw-heading mw-heading4"><h4 id="Pixel_shaders">Pixel shaders</h4></div>
<p>L'id tech 4 permet divers effets propres à la génération d'effets vidéo en <a href="Pixel_shader" class="mw-redirect" title="Pixel shader">pixel shader</a> : déformation, flou, <i>bump mapping</i>, <abbr class="abbr" title="et cetera">etc.</abbr>
</p>
<div class="mw-heading mw-heading4"><h4 id="Réécriture_complète_en_objet"><span id="R.C3.A9.C3.A9criture_compl.C3.A8te_en_objet"></span>Réécriture complète en objet</h4></div>
<p>Le moteur a été entièrement réécrit en <a href="C%2B%2B" title="C++">C++</a>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Réécriture_des_formats_de_fichier"><span id="R.C3.A9.C3.A9criture_des_formats_de_fichier"></span>Réécriture des formats de fichier</h4></div>
<p>Les fichiers du jeu sont désormais entièrement encodés avec le format <a href="ASCII" class="mw-redirect" title="ASCII">ASCII</a> qui était déjà utilisé pour coder les entités dans l'<a href="Id_Tech_3" class="mw-redirect" title="Id Tech 3">Id Tech 3</a>. Ce format est plus lent à charger mais plus souple, plus adapté à l'objet et plus facile à <a href="D%C3%A9boguer" class="mw-redirect" title="Déboguer">déboguer</a>.
</p><p>Les cartes du jeu (<a href="Map_(jeu_vid%C3%A9o)" class="mw-redirect" title="Map (jeu vidéo)">maps</a>) ne sont plus codées sur un simple fichier .bsp, mais encodées sous la forme de 4 fichiers différents afin de mieux isoler les différentes partie du programme :
</p>
<ul><li>le fichier « .map », lu par l'<a href="%C3%89diteur_de_niveaux" title="Éditeur de niveaux">éditeur de niveaux</a> du jeu et par le jeu lui-même, qui contient les entités et autres informations. Il sert à générer 3 autres fichiers :
<ul><li>le fichier « .cm », qui définit une <i>collisionmap</i> pour le moteur physique ;</li>
<li>le fichier « .proc », qui contient toute la géométrie pré calculée par le <a href="Compilateur" title="Compilateur">compilateur</a> : triangles, portails, volumes de lumière des lampes statiques ;</li>
<li>le fichier « .aas », qui contient des structures pour guider l'<a href="Intelligence_artificielle" title="Intelligence artificielle">IA</a>.</li></ul></li></ul>
<p>L'occlusion n'est plus approximativement pré-calculée dans des tables, elle est calculée en temps réel à l'aide de portails stockés dans le bsp.
</p>
<div class="mw-heading mw-heading4"><h4 id="Éclairage_et_ombres_dynamiques_en_temps_réel"><span id=".C3.89clairage_et_ombres_dynamiques_en_temps_r.C3.A9el"></span>Éclairage et ombres dynamiques en temps réel</h4></div>
<p>La principale innovation de l'id Tech 4 est l'utilisation totale de l'éclairage dynamique. Les volumes d'ombres sont rendus en polygones avec un algorithme appelé <a href="Carmack's_Reverse" title="Carmack's Reverse">Carmack's Reverse</a>. Les volumes d'ombre des lampes statiques sont pré-calculés à la compilation de la map, les volumes d'ombre de lampes mobiles sont calculés en temps réel.
</p><p>Alors qu’auparavant les <a href="Moteurs_3D" class="mw-redirect" title="Moteurs 3D">moteurs 3D</a> combinaient grossièrement les lumières pré-calculées ou les <a href="Lightmap" title="Lightmap">lightmaps</a> avec des lumières dynamiques dont l'effet changeait la luminosité d'un objet entier, l'approche utilisée par l'id Tech 4 a permis un éclairage et un ombrage plus réaliste qu'auparavant.
</p>
<div class="mw-heading mw-heading4"><h4 id="Synchronisation_des_lèvres"><span id="Synchronisation_des_l.C3.A8vres"></span>Synchronisation des lèvres</h4></div>
<p><i><a href="Quake_4" title="Quake 4">Quake 4</a></i> offre une technologie de synchronisation des lèvres en temps réel. Un système qui est similaire à celui du <a href="Source_Engine" class="mw-redirect" title="Source Engine">Source Engine</a>, avec onze émotions faciales génériques et le support des langues anglaise, française, italienne et espagnole (le Source Engine est indépendant de la langue).
</p>
<div class="mw-heading mw-heading4"><h4 id="Technologie_de_rendu_MegaTexture">Technologie de rendu MegaTexture</h4></div>
<p>MegaTexture est une technologie apparue avec <i><a href="Enemy_Territory%3A_Quake_Wars" title="Enemy Territory: Quake Wars">Enemy Territory: Quake Wars</a></i>. Elle est conçue pour éliminer les textures répétitives dans un environnement.
</p><p>La version originale de l'id Tech 4 a été critiquée pour son inaptitude à gérer les paysages et les décors extérieurs. La technologie MegaTexture corrige ce problème en permettant l'utilisation d'une seule texture massive recouvrant tout le niveau.
</p><p>Il est actuellement nettement plus simple de charger une seule texture de 32000x32000 <a href="Pixel" title="Pixel">pixels</a> que seize textures de 4000x4000 pixels. Le résultat est considérablement plus détaillé qu'avec des textures répétitives. De plus, la sous-couche MegaTexture permet aussi d'appliquer une grande variété de paramètres à certaines zones, comme la <a href="Tenue_de_route" title="Tenue de route">tenue de route</a> des véhicules, les bruits de pas ou les particules à utiliser pour les explosions. Ce qui limite l'utilisation de polygones supplémentaires.
</p>
<div class="mw-heading mw-heading4"><h4 id="Futures_améliorations_prévues"><span id="Futures_am.C3.A9liorations_pr.C3.A9vues"></span>Futures améliorations prévues</h4></div>
<p>Les ombres gérées par l'id Tech 4 original ont un gros défaut : leurs contours sont tous parfaitement nets. Les jeux suivants basés sur ce moteur permettront l'utilisation de véritables ombres douces par une véritable gestion de la pénombre, calculée par rapport à la distance entre la lumière et le cache<sup class="need_ref_tag" style="padding-left:2px;"><span title="Ce passage nécessite une référence ; voir l'aide.">[réf. nécessaire]</span></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Liste_de_jeux_utilisant_l'id_Tech_4"><span id="Liste_de_jeux_utilisant_l.27id_Tech_4"></span>Liste de jeux utilisant l'id Tech 4</h3></div>
<ul><li><i><a href="Doom_3" title="Doom 3">Doom 3</a></i></li>
<li><i><a href="Doom_3%3A_Resurrection_of_Evil" title="Doom 3: Resurrection of Evil">Doom 3: Resurrection of Evil</a></i></li>
<li><i>Doom 3: The Lost Mission</i></li>
<li><i><a href="Quake_4" title="Quake 4">Quake 4</a></i></li>
<li><i><a href="Prey_(jeu_vid%C3%A9o%2C_2006)" title="Prey (jeu vidéo, 2006)">Prey</a></i></li>
<li><i><a href="Enemy_Territory%3A_Quake_Wars" title="Enemy Territory: Quake Wars">Enemy Territory: Quake Wars</a></i></li>
<li><i><a href="Wolfenstein_(jeu_vid%C3%A9o)" title="Wolfenstein (jeu vidéo)">Wolfenstein</a></i></li>
<li><i><a href="Brink" title="Brink">Brink</a></i></li>
<li><i><a href="Quadrilateral_Cowboy" title="Quadrilateral Cowboy">Quadrilateral Cowboy</a></i></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Id_Tech_5">Id Tech 5</h2></div>
<p><a href="Id_Tech_5" class="mw-redirect" title="Id Tech 5">id Tech 5</a> est dévoilé pour la première fois lors de la <a href="WWDC" class="mw-redirect" title="WWDC">WWDC</a> 2007 par <a href="John_Carmack" title="John Carmack">John Carmack</a>.
</p><p>Pour cette version, id a changé le schéma habituel de nommage. Le précédent moteur était nommé « <i><a href="Doom_3" title="Doom 3">Doom 3</a> engine</i> », du nom du jeu pour lequel il a été créé; celui-ci est désormais appelé <a href="Id_Tech_4" class="mw-redirect" title="Id Tech 4">id Tech 4</a>. Le nom laisse maintenant transparaître plus facilement la parenté entre les différents moteurs.
</p><p>Le moteur de jeu a notamment été utilisé pour les jeux <i><a href="Rage_(jeu_vid%C3%A9o)" title="Rage (jeu vidéo)">Rage</a></i>, <i><a href="Wolfenstein%3A_The_New_Order" title="Wolfenstein: The New Order">Wolfenstein: The New Order</a></i>, le <a href="Standalone" title="Standalone">standalone</a> <a href="Wolfenstein%3A_The_Old_Blood" title="Wolfenstein: The Old Blood">Wolfenstein: The Old Blood</a> ainsi que <a href="The_Evil_Within" title="The Evil Within">The Evil Within</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Démonstrations"><span id="D.C3.A9monstrations"></span>Démonstrations</h3></div>
<p>Le moteur Id Tech 5 a été dévoilé pour la première fois lors de la <a href="WWDC" class="mw-redirect" title="WWDC">WWDC</a> 2007 par <a href="John_Carmack" title="John Carmack">John Carmack</a>, démonstration utilisant un ordinateur <a href="Apple_Corps" title="Apple Corps">Apple</a> <a href="Macintosh" title="Macintosh">Macintosh</a> à 8 <a href="C%C5%93ur_(microprocesseur)" class="mw-redirect" title="Cœur (microprocesseur)">cœurs</a>. Cependant, la démo n'utilisa qu'un seul cœur et un seul <a href="Processus_(informatique)" title="Processus (informatique)">processus</a> <a href="OpenGL" title="OpenGL">OpenGL</a> fonctionnant sur une <a href="Carte_vid%C3%A9o" class="mw-redirect" title="Carte vidéo">carte vidéo</a> de <a href="Nvidia" title="Nvidia">Nvidia</a>, la Quadro 7000 dotée de 512 <a href="M%C3%A9bioctet" class="mw-redirect" title="Mébioctet">Mio</a><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p><p>La première démonstration publique réelle prit place à la <a href="QuakeCon" title="QuakeCon">QuakeCon</a> 2007. Une partie de la démonstration présente l'aspect <a href="Multiplate-forme" class="mw-redirect" title="Multiplate-forme">multiplate-forme</a>, où quatre machines (<a href="Microsoft_Windows" title="Microsoft Windows">Windows</a>, <a href="Mac_OS" class="mw-redirect" title="Mac OS">Mac OS</a>, <a href="PlayStation_3" title="PlayStation 3">PlayStation 3</a>, <a href="Xbox_360" title="Xbox 360">Xbox 360</a>) ont fait fonctionner une séquence de présentation de <i><a href="Rage_(jeu_vid%C3%A9o)" title="Rage (jeu vidéo)">Rage</a></i>. Une longue partie présentait les outils d'éditions.
</p>
<div class="mw-heading mw-heading3"><h3 id="Ajouts_par_rapport_à_l'id_tech_4"><span id="Ajouts_par_rapport_.C3.A0_l.27id_tech_4"></span>Ajouts par rapport à l'id tech 4</h3></div>
<p>L'innovation principale d'id Tech 5 par rapport à l'<a href="Id_Tech_4" class="mw-redirect" title="Id Tech 4">id Tech 4</a> est de pouvoir afficher des cartes très grandes ou très détaillées. Le moteur peut désormais gérer de très grands extérieurs ou des intérieurs high-poly.
</p>
<div class="mw-heading mw-heading3"><h3 id="Optimisation_sur_PlayStation_3">Optimisation sur PlayStation 3</h3></div>
<p>Jon Olick, ancien programmeur principal de <i><a href="Naughty_Dog" title="Naughty Dog">Naughty Dog</a></i> et ayant travaillé pour <a href="Sony" title="Sony">Sony</a> sur l'ensemble de la bibliothèques EDGE, qui permet une meilleure utilisation du processeur <a href="Cell_(processeur)" title="Cell (processeur)">Cell</a>, a eu pour rôle chez <a href="Id_Software" title="Id Software">id Software</a> d'optimiser l'Id tech 5 pour obtenir les meilleures performances possibles sur la <a href="PlayStation_3" title="PlayStation 3">PlayStation 3</a>, du fait de sa connaissance très avancée du Cell<sup id="cite_ref-Optimisation_5-0" class="reference"><a href="#cite_note-Optimisation-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Streaming_mémoire_vidéo"><span id="Streaming_m.C3.A9moire_vid.C3.A9o"></span>Streaming mémoire vidéo</h4></div>
<p>Les maps contiennent plus de données (textures, etc.) que la mémoire des machines ne peut en contenir. Celles-ci sont mises à jour avec du streaming.
</p>
<div class="mw-heading mw-heading4"><h4 id="MegaTexture_avancé"><span id="MegaTexture_avanc.C3.A9"></span>MegaTexture avancé</h4></div>
<p>La démonstration faite à la WWDC 2007 utilisait 20 <abbr class="abbr" title="gigaoctet">Go</abbr> de textures (la technologie <a href="MegaTexture" title="MegaTexture">MegaTexture</a> avancée, celle mise au point depuis <i><a href="Enemy_Territory%3A_Quake_Wars" title="Enemy Territory: Quake Wars">Enemy Territory: Quake Wars</a></i> avec l'<a href="Id_Tech_4" class="mw-redirect" title="Id Tech 4">id Tech 4</a>, et des textures pouvant aller jusqu'à une résolution de 128 000 par 128 000 pixels) et un monde entièrement dynamique et modifiable.
</p>
<div class="mw-heading mw-heading4"><h4 id="Ombres_mappées_temps_réel"><span id="Ombres_mapp.C3.A9es_temps_r.C3.A9el"></span>Ombres mappées temps réel</h4></div>
<p>Le moteur graphique permet de gérer l'affichage de pénombre par le biais du <i>Shadow mapping <a href="https://en.wikipedia.org/wiki/Shadow_mapping" class="extiw external" title="en:Shadow mapping"><span class="indicateur-langue" title="Article en anglais : « Shadow mapping »">(en)</span></a></i>. Elle est différente de celle utilisée par le moteur id Tech 4, qui générait des ombres polygonales affichées en <i><a href="Stencil_buffer" class="mw-redirect" title="Stencil buffer">Stencil buffer</a></i>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Compatibilité_directX_et_multi-plateformes"><span id="Compatibilit.C3.A9_directX_et_multi-plateformes"></span>Compatibilité directX et multi-plateformes</h4></div>
<p>Le moteur est <a href="Multiplate-forme" class="mw-redirect" title="Multiplate-forme">multiplate-forme</a> (<a href="Microsoft_Windows" title="Microsoft Windows">Windows</a>, <a href="Mac_OS" class="mw-redirect" title="Mac OS">Mac OS</a>, Playstation 4, Xbox One, <a href="PlayStation_3" title="PlayStation 3">PlayStation 3</a>, <a href="Xbox_360" title="Xbox 360">Xbox 360</a>), et id annonce qu'il permet de rendre le même contenu sur différentes plates-formes, l'adaptant automatiquement aux capacités de la machine cible. Ceci réduirait la complexité d'un déploiement de jeu sur plusieurs systèmes<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>.
Il viendrait également avec une suite complète d'outils d'édition nommée Id Studio.
</p>
<div class="mw-heading mw-heading4"><h4 id="Autres_fonctions">Autres fonctions</h4></div>
<p>Le moteur génèrerait également d'autres effets graphiques, comme le <i><a href="High_dynamic_range_rendering" title="High dynamic range rendering">High dynamic range rendering</a></i> (prise en compte de l'intensité de la lumière) et le <i><a href="Flou_cin%C3%A9tique" title="Flou cinétique">Motion blur</a></i>.<sup class="need_ref_tag" style="padding-left:2px;">[<abbr class="abbr" title="référence">réf.</abbr> souhaitée]</sup>
</p><p>Il serait également <a href="Multit%C3%A2che" title="Multitâche">multitâche</a> et génèrerait en parallèle le rendu vidéo et sonore, la logique propre au jeu, l'intelligence artificielle et la physique.<sup class="need_ref_tag" style="padding-left:2px;">[<abbr class="abbr" title="référence">réf.</abbr> souhaitée]</sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Licences">Licences</h3></div>
<p>Contrairement aux versions précédentes de l'id Tech, à la suite du rachat d'id software par <a href="Bethesda_Softworks" title="Bethesda Softworks">Bethesda</a>, la licence du moteur ne sera plus vendue aux autres sociétés.
</p>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<ul><li>Cet article est partiellement ou en totalité issu de l'article intitulé « <span class=""><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Id_Tech_3&oldid=208049717">Id Tech 3</a> » <small>(voir <span class=""><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Id_Tech_3&oldid=208049717&action=history">la liste des auteurs</a></span>)</small></span>.</li></ul>
<ul><li>Cet article est partiellement ou en totalité issu de l'article intitulé « <span class=""><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Id_Tech_4&oldid=214341723">Id Tech 4</a> » <small>(voir <span class=""><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Id_Tech_4&oldid=214341723&action=history">la liste des auteurs</a></span>)</small></span>.</li></ul>
<ul><li>Cet article est partiellement ou en totalité issu de l'article intitulé « <span class=""><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Id_Tech_5&oldid=214164224">Id Tech 5</a> » <small>(voir <span class=""><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Id_Tech_5&oldid=214164224&action=history">la liste des auteurs</a></span>)</small></span>.</li></ul>
<div class="references-small decimal" style="column-width:36em; column-count:2;"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><cite class="ouvrage" id="site_officiel" style="font-style: normal;"><a rel="nofollow" class="external text" href="http://www.doombuilder.com/">Site officiel</a></cite> de Doom Builder</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><cite class="ouvrage" id="site_officiel" style="font-style: normal;"><a rel="nofollow" class="external text" href="http://eureka-editor.sourceforge.net/">Site officiel</a></cite> d'Eureka</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a> </span><span class="reference-text"><cite class="ouvrage" id="site_officiel" style="font-style: normal;"><a rel="nofollow" class="external text" href="http://oblige.sourceforge.net/">Site officiel</a></cite> d'OGLIGE</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.gaminggroove.com/newsitem.php?id=9045">« <i>Cain's Carmack Quickie</i> »</a>, <i>gaminggroove.com</i> <span class="noarchive">« <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070927200638/http://www.gaminggroove.com/newsitem.php?id=9045">Copie archivée</a> »</span> <small>(version du <time class="nowrap" datetime="2007-09-27" data-sort-value="2007-09-27">27 septembre 2007</time> sur <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>)</small></span>
</li>
<li id="cite_note-Optimisation-5"><span class="mw-cite-backlink"><a href="#cite_ref-Optimisation_5-0">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="http://www.tomshardware.fr/articles/id-software-tech,1-11524.html">« id Software prépare l'avenir (ID Tech 6) »</a>, Fedy Abi-Chahla, <i><a href="Tom's_Hardware" title="Tom's Hardware">Tom's Hardware</a>.fr</i>, 24 juillet 2008.</span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Yu2007"><span class="ouvrage" id="James_Yu2007"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> James Yu, « <a rel="nofollow" class="external text" href="http://www.gamespot.com/news/6175061.html"><cite style="font-style:normal;" lang="en"><i>E3 Q&A: id's Nix on Tech 5 Engine licensing</i></cite></a> », sur <span class="italique"><a href="GameSpot" title="GameSpot">GameSpot</a>.com</span>, <time class="nowrap" datetime="2007-09-05" data-sort-value="2007-09-05">5 septembre 2007</time></span></span></span>
</li>
</ol>
</div>
<div class="mw-heading mw-heading2"><h2 id="Liens_externes">Liens externes</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.francoz.net/doc/duke3d/">Build</a></li>
<li><a rel="nofollow" class="external text" href="http://www.idsoftware.com/">id Software</a></li>
<li><abbr class="abbr indicateur-format format-vidéo" title="Vidéo au format mpg, avi…">[vidéo]</abbr> « <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=HvuTtrkVtns">John Carmack et sa démonstration de l'id Tech5 à la WWDC 2007</a> », sur <span class="lang-en" lang="en"><a href="YouTube" title="YouTube">YouTube</a></span></li></ul>
<div class="navbox-container" style="clear:both;">
</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail du jeu vidéo</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des logiciels libres</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de Xbox</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2024-09-01" href="https://fr.wikipedia.org/wiki/?title=Id_Tech&oldid=218258830">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>